package team.bailan.service;

import org.springframework.web.bind.annotation.RequestBody;
import team.bailan.common.config.ReturnResponse;
import team.bailan.entity.domain.Card;
import team.bailan.entity.dto.CardsInfDTO;
import team.bailan.entity.dto.PlayerPositionDTO;
import team.bailan.entity.dto.RoomInfDTO;
import team.bailan.entity.vo.JudgeCardVO;
import team.bailan.entity.vo.PlayerPositionInfVO;

import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.util.List;
import java.util.Map;

public interface GameService {
    ReturnResponse<JudgeCardVO> judgePlayCard(CardsInfDTO cardsInfDTO);
    ReturnResponse<String> playCards(CardsInfDTO cardsInfDTO);
    ReturnResponse<String> doNotPlayCards(RoomInfDTO roomInfDTO);
    ReturnResponse<Map<String, List<Card>>> getPlayerCards(RoomInfDTO roomInfDTO);
    ReturnResponse<String> init(RoomInfDTO roomInfDTO) throws IOException;
    ReturnResponse<PlayerPositionInfVO> enterTheRoom(HttpServletRequest request, RoomInfDTO roomInfDTO);
    ReturnResponse<String> prepareForGame(PlayerPositionDTO playerPositionDTO);
}
